home *** CD-ROM | disk | FTP | other *** search
- PROGRAM VPP
- C
- C TO TEST DIRECT MEMORY OPERATIONS
- C OLYMPIC SOFTWARE -- 9/27/88
- C
- EXTERNAL GBIOS,GETADR,MXFER,MXFER1
- C
- INTEGER*4 IS1,IS2
- INTEGER*2 IOF1,IOF2,N,ICNT
- INTEGER*2 IDAT(10000)
- INTEGER*2 IAR(4)
- C
- DATA IS2,IOF2,N /47104,0,16384/
-
- C*** GET IDAT ADDRESS
- CALL GETADR(IDAT,IS1,IOF1)
- WRITE(*,19)IS1,IOF1
- 19 FORMAT(' IDAT IS AT: ',I6,':',I6)
- C
- C*** CHANGE TO GRAPHICS MODE, MODE=6 (CGA GRAPHICS)
- IAR(1)=0
- IAR(2)=6
- CALL GBIOS(IAR)
- C
- C*** PLOT VERTICAL LINES
- IAR(1)=12
- IAR(2)=15
- DO 10 J=1,640,2
- DO 10 I=1,200,2
- IAR(3)=J-1
- IAR(4)=I-1
- CALL GBIOS(IAR)
- 10 CONTINUE
- C
- C*** MXFER DATA FROM VIDEO TO IDAT
- CALL MXFER(IS2,IOF2,IS1,IOF1,N)
- C
- C*** MCLR VIDEO DATA
- CALL MCLR(IS2,IOF2,N)
- C
- ICNT=18
- CALL STIMER(ICNT)
- C
- C*** MXFER1 DATA FROM IDAT TO VIDEO
- IOP=0
- CALL MXFER1(IOP,IDAT,IS2,IOF2,N)
- C
- ICNT=18
- CALL STIMER(ICNT)
- C
- C*** MCLR IDAT DATA
- CALL MCLR(IS1,IOF1,N)
- C
- C*** MXFER1 DATA FROM VIDEO TO IDAT
- IOP=1
- CALL MXFER1(IOP,IDAT,IS2,IOF2,N)
- C
- C*** MCLR VIDEO DATA
- CALL MCLR(IS2,IOF2,N)
- C
- ICNT=18
- CALL STIMER(ICNT)
- C
- C*** MXFER DATA FROM IDAT TO VIDEO
- CALL MXFER(IS1,IOF1,IS2,IOF2,N)
- C
- ICNT=18
- CALL STIMER(ICNT)
- C
- C*** CHANGE TO TEXT MODE, MODE=3
- IAR(1)=0
- IAR(2)=3
- CALL GBIOS(IAR)
- C
- STOP
- END
- C
- SUBROUTINE STIMER(ICNT)
- C
- C SHORT INTERVAL TIMER ROUTINE
- C PROGRAM ENDS AFTER ICNT COUNTS (TOTAL DELAY <1 HOUR)
- C INTERVAL : 1/18 SEC
- C MIDNIGHT CROSSING RESETS STIMER (STIMER RETURNS)
- C OLYMPIC SOFTWARE -- 9/26/88
- C
- EXTERNAL TBIOS
- INTEGER*2 IAR(6),ICX,IDX,EC,ICNT
- C
- IAR(1)=0
- CALL TBIOS(IAR)
- IDX=IAR(5)*256+IAR(6)
- IAR(1)=0
- 100 CALL TBIOS(IAR)
- EC=IAR(5)*256+IAR(6)-IDX
- IF(EC.LT.0)EC=EC+4*16384
- IF(IAR(2).NE.0)GOTO 200
- IF(EC.LT.ICNT)GOTO 100
- C
- 200 RETURN
- END
-
-
-
-
-